package com.ycw.dao;

import java.util.List;
import java.util.Map;

public interface HouseRepairDao {
	/**
	 * 分页查询
	 * 
	 * @param 查询页数
	 * @return 查询页的数据, 包括houserepair表的全部字段以及 house的region,village,unit,roomnum和
	 *         logistics表的l_name，l_phone
	 */
	public Map<String, Object> queryAllHouseRepairData(int pageNum);

	/**
	 * 分页查询总页数
	 * 
	 * @return 分页查询总页数
	 */
	public int queryAllHouseRepairData();

	/**
	 * 条件查询 根据状态和时间
	 * 
	 * @param hr_state
	 * @param hr_time
	 * @param pageNum
	 *            页数信息
	 * @return 查询页的数据 包括houserepair表的全部字段以及 house的region,village,unit,roomnum和
	 *         logistics表的l_name，l_phone
	 */
	public Map<String, Object> queryAllHouseRepairDataByStateOrTime(String hr_state, String hr_time, int pageNum);

	/**
	 * 条件查询 根据姓名和电话 分页查询总页数
	 * 
	 * @return 分页查询总页数
	 */
	public int queryAllHouseRepairDataByStateOrTime();

	/**
	 * 后勤修缮详细信息
	 * 
	 * @param hr_id
	 * @return 包括houserepair表的全部字段以及 house的region,village,unit,roomnum和
	 *         logistics表的l_name，l_phone
	 */
	public Map<String, Object> queryHouseRepairDataByID(int hr_id);

	/**
	 * 后勤修缮信息添加
	 * 
	 * @param list
	 *            中包含信息（houserepair表的全部字段以及 house的region,village,unit,roomnum和
	 *            logistics表的l_jobnumber）
	 * @return
	 */
	public boolean addHouseRepairData(List<Object> list);

	/**
	 * h_id必须存在
	 * 
	 * @param h_region
	 * @param h_village
	 * @param h_unit
	 * @param h_roomnum
	 * @return
	 */
	public int queryH_idByAddData(String h_region, String h_village, String h_unit, String h_roomnum);

	/**
	 * l_id必须存在
	 * 
	 * @param l_jobnumber
	 * @return
	 */
	public int queryl_idByAddData(String l_name);

	/**
	 * 查询h_id和l_id是否存在 保证数据不重复
	 * 
	 * @param h_id
	 * @param l_id
	 * @return
	 */
	public boolean queryDataByHidAndLid(int h_id, int l_id);

	public boolean queryDataByHidAndLid(int h_id, int l_id, int old_hid, int old_lid);

	/**
	 * 后勤修缮信息删除
	 * 
	 * @param hr_id
	 * @return
	 */
	public boolean deleteHouseRepairDataById(int hr_id);

	/**
	 * 后勤修缮信息信息修改
	 * 
	 * @param list(houserepair表的全部字段以及
	 *            house的region,village,unit,roomnum和
	 *            logistics表的l_jobnumber)中必须包含hr_id
	 * @return
	 */
	public boolean alterHouseRepairById(List<Object> list);

}
